package net.servir.capacidades.web.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import net.servir.capacidades.model.ParticipanteBusqueda;
import net.servir.capacidades.model.Test;
import net.servir.capacidades.model.Usuario;
import net.servir.capacidades.model.Sistema;
import net.servir.capacidades.service.CapacidadesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Iterator;
import java.util.List;

@Controller
public class _PlantillaController {

	@Autowired 
	private CapacidadesService capacidadesService;
	@RequestMapping("/_plantilla.htm")
	public @ModelAttribute("participanteBusqueda")
	ParticipanteBusqueda participanteBusqueda(HttpServletRequest request) {
		
		//************************************************************
		// se obtiene el dni de la session activa
		//************************************************************
		HttpSession session = request.getSession();
		String cod_session =session.getId();

		String dniResponsable = null;
		if(session.getAttribute("dni") != null)			
			dniResponsable = session.getAttribute("dni").toString();
		
		//Obtenemos los datos del Usuario
		Usuario usuario = capacidadesService.GetUsuarioIdentificacion(dniResponsable);
		
		if (usuario == null)
			return null;
			
		//************************************************************
		ParticipanteBusqueda obj = new ParticipanteBusqueda();		
		List  RptSeguimientoPrueba = null;
		Integer idTest = null;
		if (request.getParameter("idTest") != null)
			idTest = Integer.parseInt(request.getParameter("idTest"));

		
		// busco el test activo
		
		if (idTest== null)
		{	
		Iterator itrT = null;
		Test t = null;
		itrT = obj.getTest().iterator();
		if (itrT!= null)
		{
		Integer total_rows = obj.getTest().size();
		Integer row = 0; 
		while(itrT.hasNext()){
			row += 1;
			t=(Test)itrT.next();
			if (row == 1)
				idTest = t.getId_test().intValue();				
			
			if (t.getActivo().equals("S") )
			{
				if (idTest == null)
					idTest = t.getId_test().intValue();
				obj.setTestActivo(t.getTest());
			}
		}
		}
		}
		obj.setIdTest(idTest);
		RptSeguimientoPrueba = capacidadesService.ObtenerDatosPrueba(idTest,2,0);//TODO: Implementar pasar el parametro del ambito
		request.setAttribute("DATALIST", RptSeguimientoPrueba);	
		return obj;
	}
}
